Motion compensation that reduces temporal redundancy in the coding of image sequences uses a calculated tradeoff between motion model granularity (i.e., from per-pixel to per image), parameters (i.e., from translational to polynomial) and accuracy of the parameters (i.e., from continuous to discrete). Combined, the above factors affect an energy of a residual signal and a resulting bandwidth. Recent video compression standards employ a variable block-sized translational motion model, where each pixel within a macroblock or sub-macroblock undergoes the same motion, with sub-pel accuracy and interpolated samples on a pel grid being permitted to increase motion accuracy. Variable block-sized motion allows a wider range of block sizes (i.e., 4 horizontal (H) by 4 vertical (V), 4H×8V, 8H×4V, 8H×8V, 8H×16V, 16H×8V, and 16H ×16V) and provides better estimation of small and irregular motion fields resulting in a reduced number of bits for coding the residual signal compared with a fixed block-sized motion. Given the increased number of search parameters (i.e., the number of permitted block-sizes, search range, and motion vector accuracy), architectural/procedural tradeoffs are made to reduce the number of motion estimation processor cycles in order to make a cost-effective use of silicon area. A specific procedural problem is how to select the block size and interpolated position that produces a minimum search score.
An existing solution for motion estimation is to exhaustively search all interpolated positions for all block sizes. Another existing solution is to search a small window of interpolated positions around a best integer position for each block size (also determined independently for each block size). However, the exhaustive searches increase motion estimation processor cycles to generate and search the interpolated positions. Repeating for all block sizes further increases motion estimation processor cycles to search the interpolated positions. An increase is seen in motion estimation processor memory to store the interpolated samples. In addition, the existing solutions increase motion estimation processor memory to store the best integer and the best interpolated scores for all block sizes.